home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C++ / Applications / PICSee Dust 1.01 / Quaternary Source / TimerUtils.h < prev   
Text File  |  1995-11-05  |  2KB  |  66 lines

  1. #ifndef _TIMERUTILS_H_
  2. #define _TIMERUTILS_H_
  3.  
  4. extern volatile Boolean gTimeNow;
  5.  
  6. typedef enum {
  7.     /* You can use the following rate constants, where the "XXX" in "kTimerRateXXXfps" is:
  8.         5, 10, 15, 20, 30, 40,
  9.         50, 59, 60, 67, 70, 71,
  10.         77, 80, 83, 90, 91, 100,
  11.         110, 111, 125, 140, 143,
  12.         167, 200, and 250 fps.
  13.     */
  14.  
  15.     kTimerRateOff    = -1,    // Turn off timing.
  16.     kTimerRate5fps   = 200,    // 5 frames per second; or 1000 millisecs / 200 == 5
  17.     kTimerRate10fps  = 100,    // 10 fps
  18.     kTimerRate15fps  = 67,    // 15 fps
  19.     kTimerRate20fps  = 50,
  20.     kTimerRate25fps  = 40,
  21.     kTimerRate30fps  = 33,    // 30 fps
  22.     kTimerRate40fps  = 25,
  23.     kTimerRate50fps  = 20,
  24.     kTimerRate59fps  = 17,
  25.     kTimerRate67fps  = 15,
  26.     kTimerRate71fps  = 14,
  27.     kTimerRate77fps  = 13,
  28.     kTimerRate83fps  = 12,
  29.     kTimerRate91fps  = 11,
  30.     kTimerRate100fps = 10,
  31.     kTimerRate111fps = 9,
  32.     kTimerRate125fps = 8,
  33.     kTimerRate143fps = 7,
  34.     kTimerRate167fps = 6,
  35.     kTimerRate200fps = 5,
  36.     kTimerRate250fps = 4,
  37.  
  38.     // Just in case you only need approximate timings, in 10's.
  39.     // Basically synonyms in case you can't remember if its 111 or 110, etc.
  40.     kTimerRate60fps  = kTimerRate59fps,
  41.     kTimerRate70fps  = kTimerRate71fps,
  42.     kTimerRate80fps  = kTimerRate83fps,
  43.     kTimerRate90fps  = kTimerRate91fps,
  44.     kTimerRate110fps = kTimerRate111fps,
  45.     kTimerRate140fps = kTimerRate143fps,
  46.     kTimerRate150fps = kTimerRate167fps
  47. } TimerRates;
  48.  
  49. // -----------------------------------------------------------------------
  50.  
  51. void SetTimerRate(short timerRate);
  52. short GetTimerRate();
  53. void SaveTimerRate();
  54. void RestoreTimerRate();
  55.  
  56. // -----------------------------------------------------------------------
  57.  
  58. void StartTimer();
  59. void StartTimer(short timerRate);
  60. void StartTimerFPS(short fps);        // Specifiy in frames per second
  61.  
  62. void ResetTimer();            // Or set gTimeNow = false
  63. Boolean TimerDoNow();        // Or read gTimeNow directly
  64. void StopTimer();            // Required
  65.  
  66. #endif // _TIMERUTILS_H_